package com.lancoo.znbkxx.teacher.aibkTestCoach.networkRequest.entity

import com.lancoo.znbkxx.teacher.model.AnswerArea
import com.lancoo.znbkxx.teacher.model.AnswerInfo
import com.lancoo.znbkxx.teacher.model.TextInfo

data class PaperPerAnalysisInfor(
        val AverageScore: String,
        val FullScore: String,
        val PaperScoreRate: String,
        val Duration: Int,
        val HighestScore: String,
        val ObjectiveFullScore: Double,
        val ObjectiveScore: Double,
        val PaperID: String,
        val Score: String,
        val State: Int,
        val SubjectiveFullScore: Double,
        val SubjectiveScore: Double,
        val TypeList: List<TypeAnalysis>
)

data class TypeAnalysis(
        val EvalScore: String,
        val GenreID: Int,
        val GenreName: String,
        val QuesAnswerList: List<QuesAnswerAnalysis>,
        val QuesDetailList: List<QuesDetailAnalysis>,
        val QuesList: List<QuesAnalysis>,
        val TotalScore: String,
        val TypeIndex: Int,
        val TypeName: String,
        val TypeNo: String
)

data class QuesAnswerAnalysis(
        val ChildAnswerList: List<ChildAnswerAnalysis>,
        val Comment: String,
        val Duration: Int,
        val IsScanAnswer: Boolean,
        val Index: Int,
        val QuesID: String,
        val ScoreRate: String,
        val ScoreRateIndex: String,
        val State: Int
)

data class QuesDetailAnalysis(
        val ChildList: List<ChildAnalysis>,
        val AudioSpeed: Double,
        val DVAL: String,
        val EXVAL: String,
        val EvalType: Int,
        val GenreID: Int,
        val GenreName: String,
        val GenreType: String,
        val HVAL: String,
        val ImportKlgList: List<ImportKlgAnalysis>,
        val IsOral: Boolean,
        val MainKlgList: List<MainKlgAnalysis>,
        val ModelAnswerAreaList: List<AnswerArea>,
        val ModelAnswerInfoList: List<AnswerInfo>,
        val ModelTextInfoList: List<TextInfo>,
        val QuesAudio: QuesAudioAnalysis,
        val QuesBody: String,
        val QuesBrief: String,
        val QuesChildNum: Int,
        val QuesID: String,
        val QuesLeaderContent: String,
        val SortNum: Int,
        val SpecialFeatureCodes: String,
        val Theme: String,
        val ThemeKlgList: List<ThemeKlgAnalysis>,
        val TotalItemCount: Int,
        val TypeName: String,
        val TypeNo: String,
        val Resource:String
)

data class QuesAnalysis(
        //add by long
        var IsGetInfor: Boolean?,//是否获取到笔记及收藏状态
        var IsFavourite: Boolean?,//是否收藏
        var NoteID: String?,//笔记id

        val Index: Int,
        val QuesID: String,
        val SortIndexList: List<SortIndexAnalysis>
)

data class ChildAnswerAnalysis(
        val AudioPath: String,
        val ChildIndex: Int,
        val EvalScore: String,
        val ImagePath: String,
        val ItemList: List<ItemAnalysis>,
        val ScoreRate: Double,
        val SortIndexType: Int,
        val State: Int,
        val StuAnswer: String,
        val TotalScore: Double,
        val WrittingAnswerType: Int
)

data class ItemAnalysis(
        val AudioPath: String,
        val EvalScore: String,
        val ImagePath: String,
        val ItemAskList: List<Any>,
        val ItemIndex: Int,
        val ScoreRate: Double,
        val State: Int,
        val StuAnswer: String,
        val TotalScore: Double,
        val WrittingAnswerType: Int
)

data class ChildAnalysis(
        val ChildAnalysis: String,
        val ChildAnswer: String,
        val ChildAnswerType: Int,
        val ChildAsk: String,
        val ChildSectionName: String,
        val ChildDisplay: String,
        val ChildAudio: ChildAudioAnalysis,
        val ChildOptionList: List<ChildOptionAnalysis>,
        val ItemList: List<ItemXAnalysis>,
        val SortIndexType: Int
)

data class ImportKlgAnalysis(
        val Code: String,
        val Name: String,
        val UniqueCode: String
)

data class MainKlgAnalysis(
        val Code: String,
        val Name: String,
        val UniqueCode: String
)

data class QuesAudioAnalysis(
        val Article: String,
        val Path: String,
        val TimeLength: Int
)

data class ThemeKlgAnalysis(
        val Code: String,
        val Name: String,
        val UniqueCode: String
)

data class ChildAudioAnalysis(
        val Path: String,
        val TimeLength: Int
)

data class ChildOptionAnalysis(
        val IsRight: Boolean,
        val Option: String,
        val OptionIndex: String,
        val Rate: String,
        val ShowType:Int,
        val StuCount: String
)

data class ItemXAnalysis(
        val IsRemark: Boolean,
        val ItemAnalysis: String,
        val ItemAnswer: String,
        val ItemAskList: List<Any>,
        val ItemOptionList: List<ItemOptionAnalysis>,
        val ItemSortIndex: String,
        val SortIndex: String
)

data class ItemOptionAnalysis(
        val IsRight: Boolean,
        val Option: String,
        val OptionIndex: String,
        val Rate: String,
        val ShowType:Int,
        val StuCount: String
)

data class SortIndexAnalysis(
        val Score: Double,
        val ScoreRate: Double,
        val SortIndex: String,
        val State: Int
)